MVC-framework on PHP
Official Docs Руководство на русском krajee.com| Установка | |
|---|---|
| 
                1-1. XAMMP
                 Скачать установочный файл с оф. сайта
                link
                  | 
              
                sudo su // установка от рута ./xampp-linux-x64-7.2.5-0-installer.run // запуск менеджера sudo su cd ~/../../opt/lampp && ./manager-linux-x64.run
               | 
            
| 1-1. XAMMP - Virtual Hosts | 
                Включить поддержку вирт. хостов/opt/lampp/etc/httpd.conf# Include etc/extra/httpd-vhosts.confДобавление вирт. хоста в систему /etc/hosts127.0.0.1 some-site.locДобавление вирт. хоста в XAMPP /opt/lampp/etc/extra/httpd-vhosts.conf<VirtualHost *:80>
               | 
            
| 2-1. Composer | 
                curl -s http://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer sudo composer global require "fxp/composer-asset-plugin:~1.3"  | 
            
| 2-2. Composer - Удаление | 
                delete ~/home/user/.composer delete ~/home/user/.config/composer delete ~/usr/bin/composer sudo apt-get remove composer sudo apt-get remove --auto-remove composer sudo apt-get purge composer sudo apt-get purge --auto-remove composer  | 
            
| 3-1. Установка Yii2 - I способ Composer | 
                cd ~/../../opt/lampp/htdocs
                sudo composer create-project yiisoft/yii2-app-advanced yii2
                cd yii2
                sudo php init (0, yes)http://localhost/yii2/frontend/web/
               | 
            
| 3-2. Установка Yii2 - II способ Архив | 
                Скачать архив advanced c https://www.yiiframework.com/downloadРаспаковать его в: ~/../../opt/lampp/htdocs/project-nameИнициализировать проект sudo php init Запустить сервер  | 
            
| Controllers (контроллеры, экшены) | ||
|---|---|---|
| Роутинг | 
                /index.php?r=site%2Fabout 
               | 
              
                site - название контроллера в /frontend/controllers/SiteController.php  about - название вида в директории site /frontend/views/site/about.php Название Класса (КлассController.php в /frontend/controllers/) - название директории в папке /frontend/views/класс Название экшена (actionНазвание) - название файла в директоии /frontend/views/класс/название Если контроллер вложен в какую-либо директорию, например, /frontend/controllers/admin/UserController, то вложен должен быть и вид (/frontend/views/admin/user/название_экшена). Тогда url будет (/index.php?r=admin/user%2Fsome)  | 
            
| Views (виды) | ||
| Шаблоны страниц | 
                frontend/views/
               | 
              |
| Структура | ||
| Подключение БД | common/config/main-local.php | 
                dbname="..."
               | 
            
| Минификация скриптов | frontend/config/main.php | 
                'enableMinify' => false || !YII_DEBUG
               | 
            
| Директория запуска | frontend/web | |
| Мета-данные в head | frontend/config/params.php | |
| Всё, что загрузили с админки | frontend/web/upload | В основном изображения | 
| Главный файл запуска | frontend/web/index.php | Его не трогать, в нём настроки и подключения | 
| Вставить дату | Если нужно динамически менять год | 
                <?= date('Y') ?>
               | 
            
| Страницы | frontend/views/ | |
| Виджеты, попапы, инклуды | frontend/components/ | |
| Скелет всех страниц (header, footer, pop-ups) | frontend/views/layouts/main.php | |
| Скрипты | frontend/assets/AppAsset.php | |
| Debug-режим | frontend/web/index.php | 
                Для отключения нужно поменять true => false,
                 dev => env defined('YII_DEBUG') or define('YII_DEBUG',
                  true); defined('YII_ENV') or define('YII_ENV', '
                  dev');
               | 
            
| Настройки | frontend/config/main.php | 
                'assetManager' Компилятор scss | 
            
| Путь в корневую директорию | frontend/web/ | 
                include_once
                  $_SERVER['DOCUMENT_ROOT'] . "blocks/block1.php";
               | 
            
| Путь в корневую директорию | frontend/web/ | 
                include_once
                  $_SERVER['DOCUMENT_ROOT'] . "blocks/block1.php";
               | 
            
| Контроллеры для запуска страниц | frontend/web/FormController.php | 
                
               | 
            
Если проект на Yii2 скачен через
            git, то нужно проект инициализировать из корневой директории, выполнив команду в php-консоли
            init и выбрать
            [0] Development режим, потом нажать
            yes для генерации файлов
$this->registerJsFile("js/jquery.some-plugin.min.js", ['depends' => 'yii\web\YiiAsset']);
          $this->registerCssFile("css/come-styles.min.css", ['depends' => 'yii\web\YiiAsset']);
          1. Создаём новую страницу
            somepage.php с заголовком в директорию
            frontend/views/
            
            <? $this->title="Some page" ?>
          
2. Создаём контроллер для новой страницы SomepageController.php в директории frontend/controllers/, название в camel-case как название новой страницы
<?php
namespace frontend\controllers;
use common\models\Coach;
use common\models\Travel;
use common\models\TravelReview;
use Yii;
use common\models\LoginForm;
use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm;
use frontend\models\ContactForm;
use yii\base\InvalidParamException;
use yii\web\BadRequestHttpException;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
/**
 * Site controller
 */
class SomepageController extends \app\components\SeoController
{
    public function actionIndex(){
        return $this->render('/somepage');
    }
}
  
          
          3. После этого можно заходить на данную страницу site.loc/somepage